#ifndef FILEEDITFACTORY_H
#define FILEEDITFACTORY_H

#include "GwGraphics_global.h"
#include "lineedit.h"
#include "property/qteditorfactory.h"
#include "property/qtpropertybrowserutils_p.h"
#include <QtWidgets/QLineEdit>


class GWGRAPHICS_EXPORT fileEditFactory : public QtAbstractEditorFactory<QtStringPropertyManager>
{
    Q_OBJECT
public:
    fileEditFactory(QObject *parent = 0);


    // QtAbstractEditorFactory interface
protected:
    void connectPropertyManager(QtStringPropertyManager *manager);
    QWidget *createEditor(QtStringPropertyManager *manager, QtProperty *property, QWidget *parent);
    void disconnectPropertyManager(QtStringPropertyManager *manager);

public slots:
    void slotPropertyChanged(QtProperty *property, const QString &value);
    void slotRegExpChanged(QtProperty *property, const QRegExp &regExp);
    void slotSetValue(const QString &value);
    void slotLintEditClick();

private:
    LineEdit *editor;
    QtProperty *proper;
};


#endif // FILEEDITFACTORY_H
